<?php

namespace Illuminate\Contracts\Container;

/**
 * 上下文服务构建器接口
 */
interface ContextualBindingBuilder
{
    /**
     * 定义上下文类要绑定的抽象目标
     *
     * @param  string $abstract
     * @return $this
     */
    public function needs($abstract);

    /**
     * 定义上下文类要绑定的实现
     *
     * @param  \Closure|string $implementation
     * @return void
     */
    public function give($implementation);
}
